package cn.ronghuanet.base.util;

import cn.ronghuanet.org.domain.Department;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

@Data
public class PageInfo<T> {

    private Long total = 0L;

    private List<T> dataList = new ArrayList<>();

    // 不仅需要总条数&当前页数据,需要类型ID和名字,店铺ID和名字
    // 如何将分组结果返回前端
    // 方案一:定义对象返回, 但是不通用,如果以后需要其他的信息呢
    /*private List<IdName> typeGroup;
    private List<IdName>  shopGroup;*/

    // 方案二 list  只是说结构有点复杂
    // private List<List<IdName>> idNames;

    // 方案三 map  以后既可以返回分组信息,其他信息也能返回
    private Map<String,Object> data;

    public PageInfo() {
    }

    public PageInfo(Long total, List<T> dataList) {
        this.total = total;
        this.dataList = dataList;
    }

    public PageInfo(Long total, List<T> dataList, Map<String, Object> data) {
        this.total = total;
        this.dataList = dataList;
        this.data = data;
    }
}
